Cracking the coding interview problem